A network-on-chip or “NOC” is a packet-switched communication system or network implemented within an integrated circuit (IC). The NOC facilitates communication between different circuits, processors, and/or intellectual property cores implemented within the IC. Typically, NOCs are implemented using a fixed network topology such as mesh or torus. In the case of an application specific IC (ASIC), for example, the masters and slaves of the NOC are known prior to implementation of the ASIC. Thus, the NOC is custom built to suit the requirements of the application to be implemented within the ASIC.
When implementing a circuit design with a NOC, there may be several competing interests that are independent of one another. These competing interests have been addressed by prioritizing one interest over the other. For example, the NOC is architected by considering a first interest and then considering the competing, second interest only after taking initial steps that address the first interest. This approach inherently favors one interest over the other and often leads to sub-optimal solutions.